package com.lite.business.convert.contract;


import java.util.List;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Mappings;
import com.lite.business.entity.contract.Contract;
import com.lite.business.dto.contract.ContractDTO;
import com.lite.business.vo.contract.ContractVO;

/**
* <p>
    * Contract 对象不同数据层转换器
    * </p>
*
* @author stranger
* @since 2022-10-25
*/

@Mapper(componentModel = "spring")
public interface ContractConvert {

    /**
     * VO 转换成 DTO
     */
    @Mappings({})
    ContractDTO voToDto(ContractVO vo);

    /**
     * VO列表 转换成 DTO列表
     */
    @Mappings({})
    List<ContractDTO> voListToDtoList(List<ContractVO> voList);

    /**
     * VO 转换成 Entity
     */
    @Mappings({})
    Contract voToEntity(ContractVO vo);

    /**
     * VO列表 转换成 DTO列表
     */
    @Mappings({})
    List<Contract> voListToEntityList(List<ContractVO> voList);

    /**
     * DTO 转换成 VO
     */
    @Mappings({})
    ContractVO dtoToVo(ContractDTO dto);

    /**
     * DTO列表 转换成 VO列表
     */
    @Mappings({})
    List<ContractVO> dtoListToVoList(List<ContractDTO> dtoList);

    /**
     * DTO 转换成 Entity
     */
    @Mappings({})
    Contract dtoToEntity(ContractDTO dto);

    /**
     * DTO列表 转换成 Entity列表
     */
    @Mappings({})
    List<Contract> dtoListToEntityList(List<ContractDTO> dtoList);

    /**
     * Entity 转换成 DTO
     */
    @Mappings({})
    ContractDTO entityToDto(Contract entity);

    /**
     * Entity列表 转换成 DTO列表
     */
    @Mappings({})
    List<ContractDTO> entityListToDtoList(List<Contract> entityList);

    /**
     * Entity 转换成 VO
     */
    @Mappings({})
    ContractVO entityToVO(Contract entity);

    /**
     * Entity列表 转换成 DTO列表
     */
    @Mappings({})
    List<ContractVO> entityListToVoList(List<Contract> entityList);


}
